package demo;

import java.util.ArrayList;
import java.util.List;

public class Test {
    public static void main1(String[] args) {
        List<Poker> pokers1 = new ArrayList<>();
        ArrayList<Poker> pokers2 = new ArrayList<>();
        //这两个方法的区别
        //第一个是向上转型
        // 这个特点就是通过pokers1只能调用List里面的方法，ArrayList的调用不了
        // 如果拿接口对象来接收对象  好处是可以发生向上转型 ， 就会发生动态绑定
        // 拿接口来接收， 可以做到接收不同的对象，只要实现了这个接口的都可以
        // pokers1只能调用父类自己的方法

        //第二个是
        // pokers2 可以调用
    }
    //扑克牌洗牌
    public static void main(String[] args) {
        Game game = new Game();
        List<Poker> pokers =  game.buyPoker();
        System.out.println(pokers);

        //洗牌
        game.shuffle(pokers);
        System.out.println("洗牌");
        System.out.println(pokers);

        // 揭牌
        // 规则是 3个人 每个人轮流抓5张牌，一人三张牌
        // 逻辑： 每次删除Pokers这个list()的0下标
        // 揭走的牌放到每个人的List当中

        List<List<Poker>> Hand = game.game(pokers);
        System.out.println("揭牌");
        for (int i = 0; i < Hand.size(); i++) {
            System.out.println("第"+(i+1)+"个人的牌"+Hand.get(i));
        }
        System.out.println("剩下的牌有：");
        System.out.println(pokers);
    }
}
